#include <iostream>
using namespace std;
int year;
// 通过蔡勒公式计算当前是星期几
// w = [(c/4) - 2*c + y + (y / 4) + (13(m + 1)/5) + d - 1]%7
// 适用于日期在1582年10月4日之后
// 之前有其他的式子
// 如果是1、2月要转变成去年的13月14月计算
int cai_le(int y, int m, int d)
{
    if(m == 1 || m == 2)
        m += 12, y--;
    int c = y / 100;
    y = y % 100;
    int week = c / 4 - 2 * c + y + y / 4 + 13 * (m + 1) / 5 + d - 1;
    week = (week % 7 + 7) % 7;
    if(!week) return 7;
    return week;
}

// 求出第1个星期w1到第c2个w2之间的天数
int week_distance(int w1, int c2, int w2)
{
    return (w2 - w1 + 7) % 7 + (c2 - 1) * 7;
}

void slove(int y)
{
    // 元旦
    printf("%d-01-01\n", y);
    // 马丁纪念日
    int fw = cai_le(y, 1, 1);
    int d = week_distance(fw, 3, 1);
    printf("%d-01-%02d\n", y, 1 + d);
    // 总统节
    fw = cai_le(y, 2, 1);
    d = week_distance(fw, 3, 1);
    printf("%d-02-%02d\n", y, 1 + d);
    // 阵亡将士纪念日
    fw = cai_le(y, 6, 1);
    int day = 31 - ((fw == 1) ? 6 : (fw - 2));
    printf("%d-05-%02d\n", y, day);
    // 国庆
    printf("%d-07-04\n", y);

    fw = cai_le(y, 9, 1);
    // cout << "......." << fw << endl;
    d = week_distance(fw, 1, 1);
    printf("%d-09-%02d\n", y, 1 + d);

    fw = cai_le(y, 11, 1);
    d = week_distance(fw, 4, 4);
    printf("%d-11-%02d\n",y , 1 + d);

    printf("%d-12-25\n", y);
    cout << endl;
}

int main()
{
    while(cin >> year)
        slove(year);
    return 0;
}